package com.vic.service;

import com.vic.entity.GoodsInfo;
import com.vic.entity.query.GoodsInfoQuery;
import com.vic.entity.vo.PaginationResultVo;
import java.util.List;

/**
 * @description：商品信息Service
 * @date：2023-05-28
 * @author：Vic Ly
 */
public interface GoodsInfoService {
	/**
	 * 根据条件查询列表
	 */
	List<GoodsInfo> findListByParam(GoodsInfoQuery query); 

	/**
	 * 根据条件查询数量
	 */
	Integer findCountByParam(GoodsInfoQuery query);

	/**
	 * 分页查询
	 */
	PaginationResultVo<GoodsInfo> findListByPage(GoodsInfoQuery query);

	/**
	 * 新增
	 */
	Integer add(GoodsInfo bean);

	/**
	 * 批量新增
	 */
	Integer addBatch(List<GoodsInfo> listBean);

	/**
	 * 批量新增或修改
	 */
	Integer addOrUpdateBatch(List<GoodsInfo> listBean);

	/**
	 * 根据Id查询
	 */
	GoodsInfo getById(Integer id);

	/**
	 * 根据Id更新
	 */
	Integer updateById(GoodsInfo bean, Integer id);

	/**
	 * 根据Id删除
	 */
	Integer deleteById(Integer id);

	/**
	 * 根据GoodsCode查询
	 */
	GoodsInfo getByGoodsCode(String goodsCode);

	/**
	 * 根据GoodsCode更新
	 */
	Integer updateByGoodsCode(GoodsInfo bean, String goodsCode);

	/**
	 * 根据GoodsCode删除
	 */
	Integer deleteByGoodsCode(String goodsCode);

	/**
	 * 根据GoodsStock查询
	 */
	GoodsInfo getByGoodsStock(Integer goodsStock);

	/**
	 * 根据GoodsStock更新
	 */
	Integer updateByGoodsStock(GoodsInfo bean, Integer goodsStock);

	/**
	 * 根据GoodsStock删除
	 */
	Integer deleteByGoodsStock(Integer goodsStock);

}